<?php

try {   // добавление новости
	
	// сначала проверка
	$e = new Exception_Multiline();
	
	if ($newsType<1 || $newsType>4) {
		$e[] = 'Неверно указан тип новости.';
	}
	if ($title=='') {
		$e[] = 'Новость обязательно должна содержать заголовок.';
	}
	if ($description=='') {
		$e[] = 'Новость обязательно должна содержать описание.';
	}
	if ($text=='') {
		$e[] = 'Не указан текст самой новости.';
	}
	
    if ($e->isErrorExists()) // Если мы зафиксировали какие-то исключения, то выдаем окончательное исключение
    	throw $e;
	else{
            
            $objDB = Service_Database::instance();
            
            $arFieldValues['iduser'] = $objUser->getIdUser();
            $arFieldValues['author'] = $objUser->getUserFIO();
            $arFieldValues['date'] = date('Y-m-d');
            $arFieldValues['type'] = $newsType;
            $arFieldValues['title'] = $title;
            $arFieldValues['lable'] = $label;
            $arFieldValues['description'] = $description;
            $arFieldValues['text'] = $text;
            $arFieldValues['hot'] = $hot;
            
            if (!empty($isChangeNews)) {
                //изменение таблицы новостей
                $objDB->update(DB_PREFIX.'news', $arFieldValues, array("id" => $idNews));
                $intIdNews = $idNews;
            }
            else
            {
                $intIdNews = $objDB->insertAutoincrement(DB_PREFIX.'news', $arFieldValues);
            }
            // добавление фотографии к новости
            
            if (!empty($_FILES['image']['name'])){
                $image = new Image('file', $_FILES['image'], array(
                'maxWidth' => 155,
                'newExtension' => 'jpg', 
                'folder' => IMAGES."news/", 
                'imageName' =>$intIdNews,
                'deleteOnChange' => false), null);
                $image->addArrSize(0, 0, 'news_'); 
                $image->save();
            }
            
	    $objSession->saveSuccessMessage('Новость успешно сохранена'); // сохраняем сообщение об успехе
	    header('HTTP/1.1 301 Moved Permanently');
	    header('Location:' . W_NEWS . $newsType.'/'. $intIdNews); // Перенаправление на сохранённую новость
	    exit();	

	}
}
catch(Exception_Multiline $exM){
	$error = NULL;
	foreach ($exM as $eM){ //Проходим по всем исключениям
		$error .= $eM . '<br />';
	}  // Выводим отдельно взятое исключение
	
	User_User::setUserMessage($error, -1);
}
?>